﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HMS_Hospital_Team2._6.BL;
using HMS_Hospital_Team2._6.GUI.Report;
using DevExpress.Utils;

namespace HMS_Hospital_Team2._6.GUI
{
    public partial class UcBaocaodanhsachthutien : UserControl
    {
        public UcBaocaodanhsachthutien()
        {
            InitializeComponent();
        }
        // khai báo biến 
        string mapb = "";
        int idanhdau = 0;
        bool checkall = false;
        // khai báo biến hóa đơn bl để lấy show lên combobox nhóm dịch vụ
        HoaDonBL hd = new HoaDonBL();
        // Hàm xử lý combobox báo cáo theo
        private void cmbBaocaotheo_Baocaodanhsachthutien_SelectionChangeCommitted(object sender, EventArgs e)
        {
            string mabct = cmbBaocaotheo_Baocaodanhsachthutien.SelectedItem.ToString();
            if (mabct == "Nhóm dịch vụ")
            {
                // Hàm refresh lại gridview
                for (int i = 0; i < grdBaocaodsthutien.RowCount; )
                {
                    grdBaocaodsthutien.DeleteRow(i);
                }
                // disnable các group và các button 
                grcDonvithungan_Baocaodanhsachthutien.Enabled = false;
                grcNhomDV_Baocaodanhsachthutien.Enabled = true;
                grcDanhsachthutienBN_Baocaodanhsachthutien.Enabled = true;
                grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.Enabled = true;
                grcChonngay_bcdstt.Enabled = false;
                dateChonNgay.Text = "";
                cmbDomvithungan_Baocaodanhsachthutien.Text = "";
                idanhdau = 1;

            }
            else
            {
                if (mabct == "Đơn vị thu ngân")
                {
                    gridColumn9.Caption = "Đơn vị thu ngân";
                    gridColumn9.FieldName = "TenPhongBan";
                    // Hàm refresh lại gridview
                    for (int i = 0; i < grdBaocaodsthutien.RowCount; )
                    {
                        grdBaocaodsthutien.DeleteRow(i);
                    }
                    grcDonvithungan_Baocaodanhsachthutien.Enabled = true;
                    grcNhomDV_Baocaodanhsachthutien.Enabled = false;
                    grcDanhsachthutienBN_Baocaodanhsachthutien.Enabled = true;
                    grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.Enabled = true;
                    grcChonngay_bcdstt.Enabled = false;
                    dateChonNgay.Text = "";
                    cmbNhomdichvu_Baocaodanhsachthutien.Text = "";
                    idanhdau = 2;
                }
            }
        }

        // Hàm load data lên gridview
        private void UcBaocaodanhsachthutien_Load(object sender, EventArgs e)
        {
            // disable các group control
            grcNhomDV_Baocaodanhsachthutien.Enabled = false;
            grcDonvithungan_Baocaodanhsachthutien.Enabled = false;
            btnInbaocao_Baocaodanhsachhoadon.Enabled = false;
            btnXemtruoc_Baocaodanhsachhoadon.Enabled = false;
            grcDanhsachthutienBN_Baocaodanhsachthutien.Enabled = false;
            grcChonngay_bcdstt.Enabled = false;

            // Hàm load data lên combobox Nhóm dịch vụ
            cmbNhomdichvu_Baocaodanhsachthutien.DataSource = hd.LoadthongtinNhomDV_BL();
            cmbNhomdichvu_Baocaodanhsachthutien.DisplayMember = "TenNhomDV";
            cmbNhomdichvu_Baocaodanhsachthutien.ValueMember = "MaNhomDV";
            cmbNhomdichvu_Baocaodanhsachthutien.SelectedItem = null;

        }
        // xử lý combobox nhóm dịch vụ
        private void cmbNhomdichvu_Baocaodanhsachthutien_SelectionChangeCommitted(object sender, EventArgs e)
        {
            
            grcDanhsachthutienBN_Baocaodanhsachthutien.Enabled = true;
            btnInbaocao_Baocaodanhsachhoadon.Enabled = true;
            btnXemtruoc_Baocaodanhsachhoadon.Enabled = true;
            grcChonngay_bcdstt.Enabled = true;

        }
        // xử lý sự kiện combobox đơn vị thu ngân
        private void cmbDomvithungan_Baocaodanhsachthutien_SelectionChangeCommitted(object sender, EventArgs e)
        {
            checkall = false;
            //grcDanhsachthutienBN_Baocaodanhsachthutien.Enabled = true;
            btnInbaocao_Baocaodanhsachhoadon.Enabled = true;
            btnXemtruoc_Baocaodanhsachhoadon.Enabled = true;
            grcChonngay_bcdstt.Enabled = true;
            btnInbaocao_Baocaodanhsachhoadon.Enabled = false;
            string madvtn = cmbDomvithungan_Baocaodanhsachthutien.SelectedItem.ToString();
            if (madvtn == "Đơn vị thu ngân A")
            {
                mapb = "TN001";
            }
            if (madvtn == "Đơn vị thu ngân B")
            {
                mapb = "TN002";
            }
            if (madvtn == "Đơn vị thu ngân C")
            {
                mapb = "TN003";
            }
            if (madvtn == "Tất cả")
            {
                checkall = true;
            }
        }
        
       
        // Xử lý nút xem trước
        private void btnXemtruoc_Baocaodanhsachhoadon_Click(object sender, EventArgs e)
        {
            if (idanhdau == 1)
            {
                Baocaodanhsachthitien_ndv();
            }
            else
            {
                if (checkall == false)
                    Baocaodanhsachthitien_donvi();
                else
                    Baocaodanhsachthitien_donviall();
            }
            grdclTongTien.DisplayFormat.FormatType = FormatType.Numeric;
            grdclTongTien.DisplayFormat.FormatString = "{0:0,0} VND";
            int icount = grdBaocaodsthutien.RowCount;
            if (icount == 0)
            {
                MessageBox.Show("Không có dữ liệu !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                btnInbaocao_Baocaodanhsachhoadon.Enabled = false;
            }
            else
            {
                btnInbaocao_Baocaodanhsachhoadon.Enabled = true;
            }
        }
        
        /*
         * CHỨC NĂNG BÁO CÁO DANH SÁCH THU TIỀN
         * */
        // Hàm xử lý load data trong ngày của nhóm dịch vụ
        void Baocaodanhsachthitien_ndv()
        {
            int iday = dateChonNgay.DateTime.Day;
            int imonth = dateChonNgay.DateTime.Month;
            int iyear = dateChonNgay.DateTime.Year;
            string mandv = cmbNhomdichvu_Baocaodanhsachthutien.SelectedValue.ToString();
            grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.DataSource = hd.BaocaodanhsachthutienNhomDV_Ngay_BL(iday,imonth,iyear,mandv);
        }

        void Baocaodanhsachthitien_donvi()
        {
            int iday = dateChonNgay.DateTime.Day;
            int imonth = dateChonNgay.DateTime.Month;
            int iyear = dateChonNgay.DateTime.Year;
            grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.DataSource = hd.BaocaodanhsachthutiennDonVitn_Ngay_BL(iday, imonth, iyear, mapb);
        }

        void Baocaodanhsachthitien_donviall()
        {
            int iday = dateChonNgay.DateTime.Day;
            int imonth = dateChonNgay.DateTime.Month;
            int iyear = dateChonNgay.DateTime.Year;
            grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.DataSource = hd.BaocaodanhsachthutienntatcaDonVitn_Ngay_BL(iday, imonth, iyear);
        }

        private void btnInbaocao_Baocaodanhsachhoadon_Click(object sender, EventArgs e)
        {
            if (cmbBaocaotheo_Baocaodanhsachthutien.SelectedIndex == 0)
            {
                DataTable dt2 = new DataTable();
                dt2 = (DataTable)grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.DataSource;
                rptDSThuTienNV rpt1 = new rptDSThuTienNV();
                rpt1.DataSource = dt2;
                rpt1.DataMember = "dt2";
                rpt1.ShowPreviewDialog();
            }
            if (cmbBaocaotheo_Baocaodanhsachthutien.SelectedIndex == 1)
            {
                DataTable dt = new DataTable();
                dt = (DataTable)grdDanhsachthutienbenhnhan_Baocaodanhsachthutien.DataSource;
                rptDSThuTienDVTN rpt = new rptDSThuTienDVTN();
                rpt.DataSource = dt;
                rpt.DataMember = "dt";
                rpt.ShowPreviewDialog();
            }
            
        }
        // Hàm load colum STT lên gridview
        private void grdBaocaodsthutien_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            if (e.Column == gridColumn1)
            {
                e.DisplayText = Convert.ToString(e.RowHandle + 1);
            }
        }
    }
}
